/**
 * 去除开头的斜杠
 * @param {string} str
 */
const rmStartSlash = (str) => {
  return str.startsWith('/') ? str.slice(1) : str
}

/**
 * 去除斜杠并驼峰命名
 * @param {string} str
 */
const rmSlash = (str) => {
  if (!str) return
  return str.split('/').map((item) => {
    if (item)
      item = item.charAt(0).toUpperCase() + item.slice(1)
    return item
  }).join('')
}

/**
 * 首字母大写
 */
const firstUpcase = str => str.slice(0, 1).toUpperCase() + str.slice(1)

/**
 * 将json参数转换为对象
 */
const parseQuery = (params) => {
  const obj = {}
  Object.keys(params).forEach(key => {
    try {
      obj[key] = JSON.parse(params[key])
    } catch (error) {
      obj[key] = params[key]
    }
  })
  return obj
}

module.exports = { rmStartSlash, rmSlash, firstUpcase, parseQuery }